home *** CD-ROM | disk | FTP | other *** search
- /* lfind on page 314 of the Turbo C Bible */
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- int mycompare(const void *, const void *);
- main(int argc, char **argv, char **envp)
- {
- unsigned int count;
- char **p_table, **result;
- if(argc <2)
- {
- printf("Usage: %s <KEYWORD>\n", argv[0]);
- exit(0);
- }
- /* Find length of environment table and print it */
- printf("==== Environment table contains ====\n");
- for(count = 0, p_table = envp; *p_table != NULL; p_table++, count++)
- printf("%s\n", *p_table);
- /* Search for the KEY variable in the environment */
- result = (char **)lfind(&argv[1], envp, &count, sizeof(char *),
- mycompare);
- if(result != NULL)
- printf("\nFound %s in\n%s\n", argv[1], *result);
- else
- printf("\n%s not found. Try with uppercase keyword\n", argv[1]);
- }
- /* ----------------------------- */
- int mycompare(const void *arg1, const void *arg2)
- {
- return(strncmp(*(char**)arg1, *(char**)arg2, strlen(*(char**)arg1)));
- }